With the advent of powerful personal computers, computer graphics software renders increasingly sophisticated and life-like color images. Color images are also used in various types of application programs. For example, color images are incorporated in desktop publishing. Many desktop publishing software allows users to input color images via an input device such as a scanner, to view as well as edit the color images while viewing on a display monitor, and to print out the images. In other words, the same color images are viewed on various image carrying substrates such as display monitors and hard copies.
One prior art problem is that an outputted color image and its inputted original image do not appear substantially identical in their colors. Because the color characteristics of the input and output devices are not identical, original colors are not exactly reproduced even on the same type of paper. For example, when an original color image is digitized by a scanner, certain light spectra are distorted by the conversion characteristic of the scanner. Similarly, when the digitized image is outputted on a sheet of paper, certain color output is distorted during printing. As a result, the printed color image does not appear true to the original color image. To solve this problem, color management system (CMS) has been developed to control the above-described discrepancies.
In general, the CMS includes device-dependent profiles and a color matching method. Each profile accommodates the input and output characteristics for a specific device, while the color matching method takes care of the device-independent color conversion. There are generally three ways to convert an input color signal to a device-dependent signal. One is to calculate the transformation on the fly using matrix calculations as will be described below. This flexible method also known as masking usually requires central processor time. On the other hand, the second transformation method utilizes memory maps or tables that contain pre-calculated input-to-output mapped values. Because the values are already calculated and stored in the tables, the memory map method does not require a central processing time for calculating values on the fly. However, the memory map method requires additional memory for the tables. In fact, the amount of memory necessary for a vast color spectrum is prohibitive. A third conversion method is a hybrid of the above two methods. That is, a manageable number of input and output values is mapped in a table, and when an input value falls between the mapped values, its output value is calculated based upon a difference between the input value and the mapped input value. The hybrid method substantially reduces the memory size for the map tables.
In the above-described color management system, each color is specified by a set of values. According to "Computer Graphics, Principles and Practice" by Foley et al. (1995), to a human observer, a color is perceived based upon three quantities which include hue, saturation and lightness/brightness. Hue distinguishes among colors such as red, green, purple and yellow. Saturation refers to an amount of whiteness in a particular color. For example, pink is unsaturated with respect to red. Lightness is perceived as intensity of a reflecting object while brightness is the perceived intensity of a self-luminous object such as color display monitor. In contrast to the above-described quantities based upon human perception, another set of terms in colorimetry includes dominant wavelength, excitation purity and luminance which roughly correspond to hue, saturation and lightness/brightness. Among the human perceptible colors specified by the above set of values, most colors may be generated by adding the primary colors (i.e. red, green and blue or RGB). However, to match all values of dominant wavelength in the visible spectrum, certain colors cannot be produced by adding positive values of RGB. In other words, certain primaries must be negative as well as positive to produce all human perceptible colors as shown in FIG. 1. These negative values present some difficulty, for example, in converting output signals to a color monitor.
To solve the above difficulty, in 1931, the commission Internationale de L'Eclairage (CIE) defined three standard primaries, called X, Y and Z colors to replace red, green and blue. The three corresponding color-matching functions, x, y and z are shown in FIG. 2. The Y primary is intentionally defined to have a color-matching function that exactly matches the luminous-efficiency function for the human eye. The amount of X, Y and Z primaries needed to match a color with a spectral energy distribution P(.lambda.), are: EQU X=k P(.lambda.)xd.lambda., Y=k P(.lambda.)yd.lambda., Z=k P(.lambda.) zd.lambda.
For self-luminous objects like a display monitor or cathode ray tube (CRT), k is 680 lumens/watt. For reflecting objects such as paper, k is usually selected such that bright white has a Y value of 100. Furthermore, CIE XYZ defines a color C to be a summation of the weighted primaries as follows: EQU C=xX+yY+zZ
where x, y and z are weights and x+y+z=1. Under the CIE XYZ scheme, chromaticity values are defined to depend only on dominant wavelength and saturation and are independent of the amount of luminous energy which is usually denoted by Y. By expressing z in terms of x and y, we can plot x and y for all visible colors, the CIE chromaticity diagram is obtained as shown in FIG. 3. The interior and boundary of the horseshoe-shaped region represent all visible chromaticity values. The center of the horseshoe-shaped region is defined as light source illuminant C, which is meant to approximate sunlight or a standard white light. In other words, the CIE XYZ scheme allows us to measure the dominant wavelength and excitation purity of any color by matching the color with a mixture of the three CIE primaries which is defined only in positive values. In fact, instruments called calorimeters measure tristimulus X, Y and Z values, and the Y value is set at 100.
While the above-described CIE XYZ system specifies any visible color by a set of positive primaries, it does not necessarily reflect our perception of colors. In other words, assume that the distance from color C to color C.sub.1 is .DELTA.C and the distance from color C to color C.sub.2 is also .DELTA.C, the human subjects do not necessarily perceive these colors C.sub.1 and C.sub.2 as identical despite the same distance from color C and the independent perception that C and C.sub.1, as well as C and C.sub.2, are, respectively, a substantially identical color. This is because the human visual system has varied sensitivities across the visible spectrum. In order to construct a system that reflects human perception of colors, CIE has developed the CIE LUV and LAB uniform color spaces in 1976. In general, in these color spaces, two colors that are equally distant are perceived equally distant by a human observer. The two color systems are not interchangeable, and the conversion between the two systems may be only approximated. For the purposes of this disclosure, only the CIE LAB system will be described below.
The CIE LAB scheme is in part defined by L, a and b, and each element in turn is defined by the CIE XYZ primaries according to "Shikisai Kogaku" by Ohta (1993). Generally, L embodies the luminance value while a and b define the color coordinates. EQU L*=116(Y/Y.sub.n).sup.1/3 -16 EQU a*=500{(X/X.sub.n).sup.1/3 -(Y/Y.sub.n) .sup.1/3 } EQU b*=200{(Y/Y.sub.n).sup.1/3 -(Z/Z.sub.n) .sup.1/3 }
where (X.sub.n, Y.sub.n, Z.sub.n) are the coordinates of the color that is to be defined as white. In other words, the (X.sub.n, Y.sub.n, Z.sub.n) coordinates is a color of the light off a perfect reflective surface. As a standard, Y.sub.n is defined to be 100. This means that a human observer perceives that colors of an equal distance in the CIE LAB chromaticity coordinates as an identical color under the near day light (Y.sub.n =100) condition. However, when the colors are observed under light that is different from the above specified L luminance, they may not be necessarily perceived as the identical colors.
When colors specified under the CIE scheme is displayed on a display monitor such as a CRT, the CIE color specification usually has to be converted into the RGB signals. In general, the RGB system encompasses a subset of visible colors that the CIE system can show. The color gamut covered by the RGB model is defined by the chromaticities of a CRT's phosphors. In other words, two display monitors with different phosphor characteristics cover different gamuts. To covert from colors specified in the gamut of one CRT to that of CIE XYZ, the following matrix transformation is used: ##EQU1## where X.sub.r, X.sub.g, and X.sub.b are the weights applied to the monitor's RGB colors to find X, and so on.
The above transformation along with the use of the CIE LAB scheme has improved the color management involving a display monitor. However, as described above, color matching between a paper medium and a CRT display has not taken an ambient light condition into consideration. In other words, when an observer compares a color patch under ambient light against its corresponding CRT display, the CRT displays the color specified by the CIE XYZ values that were measured under the near day light (Y.sub.n =100) source of a calorimeter. Thus, when the color is displayed on the CRT based upon the above specified L luminance, the human observer does not identically perceive the color patch under the ambient light and the displayed color on the CRT. In the practical application of a color management system, for example, a designer often wants to determine the color coordination on a display monitor without printing on an image-carrying medium. The above-described perceptional difference between the two media due to luminance prevents the designer from relying solely upon the display output.
To improve the above-described problem, Japanese Patent HEI 2-22523 discloses a method of improving the above-described problem in color matching between a color patch and a CRT display. According to the method, the above-described XYZ-RGB matrix transformation is modified to include a set of gamma correction functions f.sub.1, f.sub.2 and f.sub.3 as well as associated coefficients k.sub.r, k.sub.g and k.sub.b as follows: ##EQU2## The associated coefficients k.sub.r, k.sub.g and k.sub.b are empirically determined under a predetermined test condition where a human observer matches a color display on a CRT with the corresponding adjacently placed color patch. According to the above method, although a CRT monitor and the predetermined color patch are placed in a dark room, an ambient light source is placed over the color patch and a divider prevents the ambient light from reaching the CRT monitor. Under the above-described test condition, the CRT display is adjusted to match the color patch so as to determine the coefficients. The coefficients derived in the above-described manner are used for the correction of other displayed colors.
The above-described prior art attempt still fails to solve some problems associated with color matching between a predetermined color patch and its CRT display. As described above, the color specification in general has hue and lightness or dominant wavelength and luminance. In the above-described prior art attempt, these two components are adjusted at the same time during the coefficient determination. The simultaneous correction of the two color characteristics may be efficient yet is inaccurate since a luminance difference may be compensated by adjusting a dominant wavelength and vice versa.